package com.github.prontera.domain;

import java.time.OffsetDateTime;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.github.prontera.domain.enums.AppSmsSendStatus;
import com.github.prontera.domain.enums.AppSmsTemplateEnum;
import com.github.prontera.model.BasicDomain;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * app_sms-短信
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class AppSms extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Long userId;
	/**
	 * 手机号
	 */
	@ApiModelProperty(value = "手机号")
    private String phone;
	/**
	 * 发送的消息
	 */
	@ApiModelProperty(value = "模版名称")
    private AppSmsTemplateEnum template;
	/**
	 * 发送的消息
	 */
	@ApiModelProperty(value = "发送的消息")
    private String message;
	/**
	 * 分类, 1:验证码,2:普通短信
	 */
	@ApiModelProperty(value = "分类, 1:验证码,2:普通短信")
    private Integer type;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private OffsetDateTime createTime;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private OffsetDateTime activeTime;
	/**
	 * 1:成功,2:失败
	 */
	@ApiModelProperty(value = "1:成功,2:失败")
    private AppSmsSendStatus sendStatus;
	/**
	 * 验证码
	 */
	@ApiModelProperty(value = "验证码")
    private String code;
    
    public AppSms(){
    
    }
    
    public AppSmsTemplateEnum getTemplate() {
		return template;
	}

	public void setTemplate(AppSmsTemplateEnum template) {
		this.template = template;
	}

	public Long getUserId() {
        return this.userId;
    }
    
    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public String getPhone() {
        return this.phone;
    }
    
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getMessage() {
        return this.message;
    }
    
    public void setMessage(String message) {
        this.message = message;
    }
    public Integer getType() {
        return this.type;
    }
    
    public void setType(Integer type) {
        this.type = type;
    }
    public OffsetDateTime getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(OffsetDateTime createTime) {
        this.createTime = createTime;
    }
    public OffsetDateTime getActiveTime() {
        return this.activeTime;
    }
    
    public void setActiveTime(OffsetDateTime activeTime) {
        this.activeTime = activeTime;
    }
    public AppSmsSendStatus getSendStatus() {
        return this.sendStatus;
    }
    
    public void setSendStatus(AppSmsSendStatus sendStatus) {
        this.sendStatus = sendStatus;
    }
    public String getCode() {
        return this.code;
    }
    
    public void setCode(String code) {
        this.code = code;
    }
    
}
